﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCS.Infrastructure.Attr;
using WCS.Infrastructure.Dto.Request.Organization;
using WCS.Infrastructure.Dto.Request.Payment;
using WCS.Infrastructure.Dto.Response.Common;

namespace WCS.Service.Interface
{
    [Provider]
    public interface IPaymentCodeService
    {
        /// <summary>
        /// 新增收款码
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<ApiResult> AddPaymentCodeAsync(PaymentCodeRequestDto dto);

        /// <summary>
        /// 编辑收款码
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<ApiResult> UpdatePaymentCodeAsync(PaymentCodeRequestDto dto);

        /// <summary>
        /// 获取收款码列表
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<ApiResult> GetPaymentCodeListAsync(PaymentCodeRequestDto dto);

        /// <summary>
        /// 获取单个收款码详情
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<ApiResult> GetPaymentCodeDetailAsync(PaymentCodeRequestDto dto);

        /// <summary>
        /// 在收款码详情里批量设置关联成员
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<ApiResult> SetPaymentCodeMembersAsync(BindMembersRequestDto dto);
    }
}
